/**
 * Callback method for when solution is opened.
 * When deeplinking into solutions, the argument part of the deeplink url will be passed in as the first argument
 * All query parameters + the argument of the deeplink url will be passed in as the second argument
 * For more information on deeplinking, see the chapters on the different Clients in the Deployment Guide.
 *
 *@author Roberto J. Blasco
 *@version 1.0
 * @param {String} arg startup argument part of the deeplink url with which the Client was started
 * @param {Object<Array<String>>} queryParams all query parameters of the deeplink url with which the Client was started
 *
 * @properties={typeid:24,uuid:"AC756786-215C-4A2F-AF50-3F1705A8DD45"}
 * @AllowToRunInFind
 */
function onSolutionOpen(arg, queryParams) {

	// ValueList con todos los medias
	custom_vlst_medias();
	
	// Filtro borrados
	databaseManager.addTableFilterParam(globals.$NOMBRE_SERVIDOR, null, "b_esta_borrado", "=", 0);
	
	// Configuraciones a la aplicación
	application.putClientProperty(APP_UI_PROPERTY.TABLEVIEW_WC_DEFAULT_SCROLLABLE, true);
	application.putClientProperty(APP_UI_PROPERTY.TABLEVIEW_WC_SCROLLABLE_KEEP_LOADED_ROWS,true);
	application.putClientProperty(APP_WEB_PROPERTY.WEBCLIENT_TEMPLATES_DIR, "custom22")

	// Formulario principal al inicio (En el inicio presentamos formulario con navegador)
	globals.$frm_siv_main = forms.pigeon_main_con_navigator.controller.getName();
	
	// Menús por defecto (Si la tabla de menús no está inicializada)
	scopes.adm_t900_menus.inicializar_menus();
	
	// Nombre del Usuario (Esta variable perdurará a lo largo de toda la sesión)
	/** @type {JSFoundSet<db:/pigeon_board/adm_t900_usuarios>} */
	var fs_adm_t900_usuarios = databaseManager.getFoundSet(scopes.adm_t900_usuarios.$DATA_SOURCE);
	fs_adm_t900_usuarios.loadAllRecords();	
	if (fs_adm_t900_usuarios.find()){
		fs_adm_t900_usuarios.adm_t900_usuarios_id = application.getUserProperty("adm_t900_usuarios_id");
		fs_adm_t900_usuarios.search();
		globals.$record_adm_t900_usuarios = fs_adm_t900_usuarios.getRecord(1);
		globals.$adm_t900_usuarios_id = $record_adm_t900_usuarios.adm_t900_usuarios_id;
	}
	
	// Filtro para el menú de Navegación
	databaseManager.addTableFilterParam(globals.$NOMBRE_SERVIDOR,scopes.adm_t300_perfiles_menus.$NOMBRE_TABLA,"adm_t900_perfiles_id","=", $record_adm_t900_usuarios.adm_t900_perfiles_id);
	
	// Borramos histórigo navegación del Usuario
	scopes.adm_t700_frm.borrar_historial($adm_t900_usuarios_id);
	scopes.adm_t700_frm_hist.borrar_historial($adm_t900_usuarios_id);
}

/**
 * @properties={typeid:24,uuid:"22BBBF33-EFD9-486E-8356-5317E2360D4B"}
 */
function custom_vlst_medias(){
	
	/** @type {Array<JSMedia>} */
	var array_iconos = solutionModel.getMediaList();
	/** @type {Array<String>} */
	var array_nombres_iconos = [];
	/** @type {Array<String>} */
	var array_dataproviders_iconos = [];
	
	for (var x = 0; x < array_iconos.length; x++){
		if (array_iconos[x].getName().indexOf("iconos/") != -1){
			var html = <html><body><img src={"media:///" + array_iconos[x].getName()} />{array_iconos[x].getName().toString()}</body></html>;
			array_nombres_iconos.push(html.toString());
			array_dataproviders_iconos.push(array_iconos[x].getName());
		}
	}
	
	application.setValueListItems("custom_vlst_medias",array_nombres_iconos, array_dataproviders_iconos);
}
